/* 
 * File:   HiddenFiles.h
 * Author: Paul Stupka
 *
 * Created on October 28, 2011, 2:18 AM
 */

#ifndef HIDDENFILES_H
#define	HIDDENFILES_H

#include <set>
#include <string>
#include <fstream>
#include <iostream>
#include <sys/stat.h>
#include <iterator>

class HiddenFiles {
public:
    HiddenFiles(std::string configFile, bool firstRun);
    virtual ~HiddenFiles();
    void Add(std::set<std::string> files);
    void Remove(std::set<std::string> files);
    std::set<std::string> FindMatches(char* dir, char* pattern, bool recursive);
private:
    static void hide_file(const char* filename);
    std::set<std::string> hiddenFiles;
    std::string configFile;
};

#endif	/* HIDDENFILES_H */

